<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>UniMRCP: apt_log.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">UniMRCP
   &#160;<span id="projectnumber">1.5.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_995e6b30ef7b7f0b2dec48039971ec97.html">apr-toolkit</a></li><li class="navelem"><a class="el" href="dir_af55bba262e1419c3a74fbffa32b25cc.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">apt_log.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Basic Logger.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="apt_8h_source.html">apt.h</a>&quot;</code><br/>
</div>
<p><a href="apt__log_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:afd932992b0afe0ee3014a55ceace90c7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#afd932992b0afe0ee3014a55ceace90c7">MAX_LOG_FILE_SIZE</a>&#160;&#160;&#160;(8 * 1024 * 1024)</td></tr>
<tr class="separator:afd932992b0afe0ee3014a55ceace90c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95372c49592ea43b361649e485e111a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a95372c49592ea43b361649e485e111a2">MAX_LOG_FILE_COUNT</a>&#160;&#160;&#160;100</td></tr>
<tr class="separator:a95372c49592ea43b361649e485e111a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a96852480f3e6d9b89b8fbea1618eb8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a2a96852480f3e6d9b89b8fbea1618eb8">APT_LOG_MARK_DECLARE</a>(LOG_SOURCE)&#160;&#160;&#160;LOG_SOURCE,__FILE__,__LINE__</td></tr>
<tr class="separator:a2a96852480f3e6d9b89b8fbea1618eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00399e23afe864a9c8f73cb131e72ddd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a00399e23afe864a9c8f73cb131e72ddd">APT_LOG_SOURCE_DECLARE</a>(SCOPE, LOG_SOURCE)</td></tr>
<tr class="separator:a00399e23afe864a9c8f73cb131e72ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad26d815880cf0cfb1ed73572451b030b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ad26d815880cf0cfb1ed73572451b030b">APT_LOG_SOURCE_IMPLEMENT</a>(SCOPE, LOG_SOURCE, LOG_SOURCE_TAG)</td></tr>
<tr class="separator:ad26d815880cf0cfb1ed73572451b030b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ca9ba651bdb2bec8de8516797e39bbc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a4ca9ba651bdb2bec8de8516797e39bbc">APT_LOG_MARK</a>&#160;&#160;&#160;<a class="el" href="apt__log_8h.html#a2a96852480f3e6d9b89b8fbea1618eb8">APT_LOG_MARK_DECLARE</a>(&amp;<a class="el" href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a>)</td></tr>
<tr class="separator:a4ca9ba651bdb2bec8de8516797e39bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f066a0d4eedd93325dcb7b7ba7d63e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ac5f066a0d4eedd93325dcb7b7ba7d63e">APT_PTR_FMT</a>&#160;&#160;&#160;&quot;0x%lx&quot;</td></tr>
<tr class="separator:ac5f066a0d4eedd93325dcb7b7ba7d63e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e0b4ed90d46fc6d2f16908950ffb50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a44e0b4ed90d46fc6d2f16908950ffb50">APT_SID_FMT</a>&#160;&#160;&#160;&quot;&lt;%s&gt;&quot;</td></tr>
<tr class="separator:a44e0b4ed90d46fc6d2f16908950ffb50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913cf7f473140c14558d0c9f6e9727fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a913cf7f473140c14558d0c9f6e9727fc">APT_SIDRES_FMT</a>&#160;&#160;&#160;&quot;&lt;%s@%s&gt;&quot;</td></tr>
<tr class="separator:a913cf7f473140c14558d0c9f6e9727fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a047ab352c0aea41bcd811ed67f9388c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a047ab352c0aea41bcd811ed67f9388c5">APT_PTRSID_FMT</a>&#160;&#160;&#160;<a class="el" href="apt__log_8h.html#ac5f066a0d4eedd93325dcb7b7ba7d63e">APT_PTR_FMT</a> &quot; &quot; <a class="el" href="apt__log_8h.html#a44e0b4ed90d46fc6d2f16908950ffb50">APT_SID_FMT</a></td></tr>
<tr class="separator:a047ab352c0aea41bcd811ed67f9388c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83da441145655938b3fe3009e9074b71"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a83da441145655938b3fe3009e9074b71">APT_NAMESID_FMT</a>&#160;&#160;&#160;&quot;%s &quot; APT_SID_FMT</td></tr>
<tr class="separator:a83da441145655938b3fe3009e9074b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46e95644ff79e631bfa4621b3940deeb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a46e95644ff79e631bfa4621b3940deeb">APT_NAMESIDRES_FMT</a>&#160;&#160;&#160;&quot;%s &quot; APT_SIDRES_FMT</td></tr>
<tr class="separator:a46e95644ff79e631bfa4621b3940deeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a5420d1c2ce875d2d921f69cd6bbda0dd"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a></td></tr>
<tr class="separator:a5420d1c2ce875d2d921f69cd6bbda0dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb15e830a6e412a90bf7ae50b56b0a3e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a></td></tr>
<tr class="separator:aeb15e830a6e412a90bf7ae50b56b0a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea176175d035c1bc34b27277bfe99f61"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a> )(const char *file, int line, const char *obj, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const char *format, va_list arg_ptr)</td></tr>
<tr class="separator:aea176175d035c1bc34b27277bfe99f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a08803ac413316890b1a1a3a3546a0ecb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> { <br/>
&#160;&#160;<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb">APT_PRIO_EMERGENCY</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1">APT_PRIO_ALERT</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241">APT_PRIO_CRITICAL</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd">APT_PRIO_ERROR</a>, 
<br/>
&#160;&#160;<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd">APT_PRIO_WARNING</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819">APT_PRIO_NOTICE</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74">APT_PRIO_INFO</a>, 
<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df">APT_PRIO_DEBUG</a>, 
<br/>
&#160;&#160;<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8">APT_PRIO_COUNT</a>
<br/>
 }</td></tr>
<tr class="separator:a08803ac413316890b1a1a3a3546a0ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a2a33067fa0550ce8df2cac28f335a7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7">apt_log_header_e</a> { <br/>
&#160;&#160;<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834">APT_LOG_HEADER_NONE</a> = 0x00, 
<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b">APT_LOG_HEADER_DATE</a> = 0x01, 
<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943">APT_LOG_HEADER_TIME</a> = 0x02, 
<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7">APT_LOG_HEADER_PRIORITY</a> = 0x04, 
<br/>
&#160;&#160;<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f">APT_LOG_HEADER_MARK</a> = 0x08, 
<a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3">APT_LOG_HEADER_THREAD</a> = 0x10, 
<b>APT_LOG_HEADER_DEFAULT</b> = APT_LOG_HEADER_DATE | APT_LOG_HEADER_TIME | APT_LOG_HEADER_PRIORITY
<br/>
 }</td></tr>
<tr class="separator:a2a2a33067fa0550ce8df2cac28f335a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1960772f6cdc14057adf178bc17cefd7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> { <a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028">APT_LOG_OUTPUT_NONE</a> = 0x00, 
<a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b">APT_LOG_OUTPUT_CONSOLE</a> = 0x01, 
<a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0">APT_LOG_OUTPUT_FILE</a> = 0x02
 }</td></tr>
<tr class="separator:a1960772f6cdc14057adf178bc17cefd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ba51d45cfda7b6c355d3ead64b0854"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a> { <a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca">APT_LOG_MASKING_NONE</a>, 
<a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259">APT_LOG_MASKING_COMPLETE</a>, 
<a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80">APT_LOG_MASKING_ENCRYPTED</a>
 }</td></tr>
<tr class="separator:a85ba51d45cfda7b6c355d3ead64b0854"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9af49c9f345ec4982b40871f6d53734e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a9af49c9f345ec4982b40871f6d53734e">apt_log_instance_create</a> (<a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, apr_pool_t *pool)</td></tr>
<tr class="separator:a9af49c9f345ec4982b40871f6d53734e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac0cbc38c5c8bb54a0942042f69242eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aac0cbc38c5c8bb54a0942042f69242eb">apt_log_instance_load</a> (const char *config_file, apr_pool_t *pool)</td></tr>
<tr class="separator:aac0cbc38c5c8bb54a0942042f69242eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8950f4ae1a8dfbd734a5d865a7a8edcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a8950f4ae1a8dfbd734a5d865a7a8edcc">apt_log_instance_destroy</a> (void)</td></tr>
<tr class="separator:a8950f4ae1a8dfbd734a5d865a7a8edcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff2b9dcccf19774dfd3880721c667f60"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aff2b9dcccf19774dfd3880721c667f60">apt_log_instance_get</a> (void)</td></tr>
<tr class="separator:aff2b9dcccf19774dfd3880721c667f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08ec449d0cf5351ce21936f615bffaf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a08ec449d0cf5351ce21936f615bffaf2">apt_log_instance_set</a> (<a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> *logger)</td></tr>
<tr class="separator:a08ec449d0cf5351ce21936f615bffaf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab68a4ff48db1e4c75cbce6f99fb03a70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ab68a4ff48db1e4c75cbce6f99fb03a70">apt_def_log_source_set</a> (<a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source)</td></tr>
<tr class="separator:ab68a4ff48db1e4c75cbce6f99fb03a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c12eaec0833c9a2ca69e760eba61429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a7c12eaec0833c9a2ca69e760eba61429">apt_log_source_assign</a> (const char *name, <a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> **log_source)</td></tr>
<tr class="separator:a7c12eaec0833c9a2ca69e760eba61429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3df0065ee31dbd851cfde7405909fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aec3df0065ee31dbd851cfde7405909fb">apt_log_file_open</a> (const char *dir_path, const char *file_name, apr_size_t max_file_size, apr_size_t max_file_count, <a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> append, apr_pool_t *pool)</td></tr>
<tr class="separator:aec3df0065ee31dbd851cfde7405909fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15044acbdaa13dda6727acb3a2ad33ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a15044acbdaa13dda6727acb3a2ad33ae">apt_log_file_close</a> (void)</td></tr>
<tr class="separator:a15044acbdaa13dda6727acb3a2ad33ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4525b325d9c2e2ba89b12acdbc7a9c66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a4525b325d9c2e2ba89b12acdbc7a9c66">apt_log_output_mode_set</a> (<a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode)</td></tr>
<tr class="separator:a4525b325d9c2e2ba89b12acdbc7a9c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d49fb07a6d22c82089478b41c76785b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a5d49fb07a6d22c82089478b41c76785b">apt_log_output_mode_check</a> (<a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a> mode)</td></tr>
<tr class="separator:a5d49fb07a6d22c82089478b41c76785b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c36e4dcc6d962095cf6f66f6739e1e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a7c36e4dcc6d962095cf6f66f6739e1e0">apt_log_output_mode_translate</a> (char *str)</td></tr>
<tr class="separator:a7c36e4dcc6d962095cf6f66f6739e1e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8920ce20b1f9f3587dcc6915c8cba11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aa8920ce20b1f9f3587dcc6915c8cba11">apt_log_priority_set</a> (<a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority)</td></tr>
<tr class="separator:aa8920ce20b1f9f3587dcc6915c8cba11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab536c1d8aa5204c27a8c1965d5c1ff9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ab536c1d8aa5204c27a8c1965d5c1ff9b">apt_log_priority_translate</a> (const char *str)</td></tr>
<tr class="separator:ab536c1d8aa5204c27a8c1965d5c1ff9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6eca7f5d71328aa13611400c103ba0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ae6eca7f5d71328aa13611400c103ba0f">apt_log_header_set</a> (int header)</td></tr>
<tr class="separator:ae6eca7f5d71328aa13611400c103ba0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4a24e8dc9b487df7ee2f18a68ec8905"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#ae4a24e8dc9b487df7ee2f18a68ec8905">apt_log_header_translate</a> (char *str)</td></tr>
<tr class="separator:ae4a24e8dc9b487df7ee2f18a68ec8905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f898dd81b328a312bbb53ca241caa73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a9f898dd81b328a312bbb53ca241caa73">apt_log_masking_set</a> (<a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a> masking)</td></tr>
<tr class="separator:a9f898dd81b328a312bbb53ca241caa73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5864eb2192d24c43aa3915c196091344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a5864eb2192d24c43aa3915c196091344">apt_log_masking_get</a> (void)</td></tr>
<tr class="separator:a5864eb2192d24c43aa3915c196091344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fadf3bd80ccf4539db0e151f1477312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a6fadf3bd80ccf4539db0e151f1477312">apt_log_masking_translate</a> (const char *str)</td></tr>
<tr class="separator:a6fadf3bd80ccf4539db0e151f1477312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad461219ec54cc4b8c3d7ca40c009925"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#aad461219ec54cc4b8c3d7ca40c009925">apt_log_data_mask</a> (const char *data_in, apr_size_t *length, apr_pool_t *pool)</td></tr>
<tr class="separator:aad461219ec54cc4b8c3d7ca40c009925"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61b2d0bcf21f71b8ad23f83a788d2b39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a61b2d0bcf21f71b8ad23f83a788d2b39">apt_log_ext_handler_set</a> (<a class="el" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a> handler)</td></tr>
<tr class="separator:a61b2d0bcf21f71b8ad23f83a788d2b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a67547b92b97e78367629b2676ba166"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a6a67547b92b97e78367629b2676ba166">apt_log</a> (<a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const char *file, int line, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const char *format,...)</td></tr>
<tr class="separator:a6a67547b92b97e78367629b2676ba166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d13512c51de860d7446b78505df5a01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a3d13512c51de860d7446b78505df5a01">apt_obj_log</a> (<a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const char *file, int line, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, void *obj, const char *format,...)</td></tr>
<tr class="separator:a3d13512c51de860d7446b78505df5a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7510414ff29f75149a0737b95758b49d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#a7510414ff29f75149a0737b95758b49d">apt_va_log</a> (<a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *log_source, const char *file, int line, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const char *format, va_list arg_ptr)</td></tr>
<tr class="separator:a7510414ff29f75149a0737b95758b49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:abf60ebebb3297cc42fc61945d88285fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a></td></tr>
<tr class="separator:abf60ebebb3297cc42fc61945d88285fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Basic Logger. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a4ca9ba651bdb2bec8de8516797e39bbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_LOG_MARK&#160;&#160;&#160;<a class="el" href="apt__log_8h.html#a2a96852480f3e6d9b89b8fbea1618eb8">APT_LOG_MARK_DECLARE</a>(&amp;<a class="el" href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Default log mark providing log source, file and line information </p>

</div>
</div>
<a class="anchor" id="a2a96852480f3e6d9b89b8fbea1618eb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_LOG_MARK_DECLARE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">LOG_SOURCE</td><td>)</td>
          <td>&#160;&#160;&#160;LOG_SOURCE,__FILE__,__LINE__</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Declaration of log mark to be used by custom log sources </p>

</div>
</div>
<a class="anchor" id="a00399e23afe864a9c8f73cb131e72ddd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_LOG_SOURCE_DECLARE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">SCOPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">LOG_SOURCE&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *LOG_SOURCE; \</div>
<div class="line">    SCOPE##_DECLARE(<span class="keywordtype">void</span>) LOG_SOURCE<span class="preprocessor">##_init();</span></div>
<div class="ttc" id="apt__log_8h_html_a5420d1c2ce875d2d921f69cd6bbda0dd"><div class="ttname"><a href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a></div><div class="ttdeci">struct apt_log_source_t apt_log_source_t</div><div class="ttdef"><b>Definition:</b> apt_log.h:37</div></div>
</div><!-- fragment --><p>Use this macro in a header file to declare a custom log source </p>

</div>
</div>
<a class="anchor" id="ad26d815880cf0cfb1ed73572451b030b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_LOG_SOURCE_IMPLEMENT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">SCOPE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">LOG_SOURCE, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">LOG_SOURCE_TAG&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *LOG_SOURCE = &amp;<a class="code" href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a>; \</div>
<div class="line">    SCOPE##_DECLARE(<span class="keywordtype">void</span>) LOG_SOURCE<span class="preprocessor">##_init() {apt_log_source_assign(LOG_SOURCE_TAG,&amp;LOG_SOURCE);}</span></div>
<div class="ttc" id="apt__log_8h_html_abf60ebebb3297cc42fc61945d88285fd"><div class="ttname"><a href="apt__log_8h.html#abf60ebebb3297cc42fc61945d88285fd">def_log_source</a></div><div class="ttdeci">apt_log_source_t def_log_source</div></div>
<div class="ttc" id="apt__log_8h_html_a5420d1c2ce875d2d921f69cd6bbda0dd"><div class="ttname"><a href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a></div><div class="ttdeci">struct apt_log_source_t apt_log_source_t</div><div class="ttdef"><b>Definition:</b> apt_log.h:37</div></div>
</div><!-- fragment --><p>Use this macro in a source file to implement a custom log source </p>

</div>
</div>
<a class="anchor" id="a83da441145655938b3fe3009e9074b71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_NAMESID_FMT&#160;&#160;&#160;&quot;%s &quot; APT_SID_FMT</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log names and identifiers </p>

</div>
</div>
<a class="anchor" id="a46e95644ff79e631bfa4621b3940deeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_NAMESIDRES_FMT&#160;&#160;&#160;&quot;%s &quot; APT_SIDRES_FMT</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log names, identifiers and resources </p>

</div>
</div>
<a class="anchor" id="ac5f066a0d4eedd93325dcb7b7ba7d63e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_PTR_FMT&#160;&#160;&#160;&quot;0x%lx&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log pointer values </p>

</div>
</div>
<a class="anchor" id="a047ab352c0aea41bcd811ed67f9388c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_PTRSID_FMT&#160;&#160;&#160;<a class="el" href="apt__log_8h.html#ac5f066a0d4eedd93325dcb7b7ba7d63e">APT_PTR_FMT</a> &quot; &quot; <a class="el" href="apt__log_8h.html#a44e0b4ed90d46fc6d2f16908950ffb50">APT_SID_FMT</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log pointers and identifiers </p>

</div>
</div>
<a class="anchor" id="a44e0b4ed90d46fc6d2f16908950ffb50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_SID_FMT&#160;&#160;&#160;&quot;&lt;%s&gt;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log string identifiers </p>

</div>
</div>
<a class="anchor" id="a913cf7f473140c14558d0c9f6e9727fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APT_SIDRES_FMT&#160;&#160;&#160;&quot;&lt;%s@%s&gt;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Format to log string identifiers and resources </p>

</div>
</div>
<a class="anchor" id="a95372c49592ea43b361649e485e111a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_LOG_FILE_COUNT&#160;&#160;&#160;100</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Default max number of log files used in rotation </p>

</div>
</div>
<a class="anchor" id="afd932992b0afe0ee3014a55ceace90c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_LOG_FILE_SIZE&#160;&#160;&#160;(8 * 1024 * 1024)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Default max size of the log file (8Mb) </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="aea176175d035c1bc34b27277bfe99f61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>(* apt_log_ext_handler_f)(const char *file, int line, const char *obj, <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> priority, const char *format, va_list arg_ptr)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Prototype of extended log handler function </p>

</div>
</div>
<a class="anchor" id="a5420d1c2ce875d2d921f69cd6bbda0dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> <a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Opaque log source declaration </p>

</div>
</div>
<a class="anchor" id="aeb15e830a6e412a90bf7ae50b56b0a3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> <a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Opaque logger declaration </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apt__log_8h.html#a2a2a33067fa0550ce8df2cac28f335a7">apt_log_header_e</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Header (format) of log messages </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7a46e1895914d3f8aadcef111d4b4f5834"></a>APT_LOG_HEADER_NONE</em>&#160;</td><td class="fielddoc">
<p>disable optional headers output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7a3a0be82f78bf4271cb359e7e100ef21b"></a>APT_LOG_HEADER_DATE</em>&#160;</td><td class="fielddoc">
<p>enable date output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7a4ea7850955290d6b1f0d8da2da5ad943"></a>APT_LOG_HEADER_TIME</em>&#160;</td><td class="fielddoc">
<p>enable time output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7aa634e89c8cc8007343d0936a8a8774b7"></a>APT_LOG_HEADER_PRIORITY</em>&#160;</td><td class="fielddoc">
<p>enable priority name output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7a2bd66c9cb9a8d33f69ed72bb6fd1522f"></a>APT_LOG_HEADER_MARK</em>&#160;</td><td class="fielddoc">
<p>enable <a href="file:line">file:line</a> mark output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2a2a33067fa0550ce8df2cac28f335a7a8e7ef3e59425e3baf4966e6397f402b3"></a>APT_LOG_HEADER_THREAD</em>&#160;</td><td class="fielddoc">
<p>enable thread identifier output </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a85ba51d45cfda7b6c355d3ead64b0854"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Masking mode of private data </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a85ba51d45cfda7b6c355d3ead64b0854a6149b3e8cc01561f6fb447d59252e8ca"></a>APT_LOG_MASKING_NONE</em>&#160;</td><td class="fielddoc">
<p>log everything as is </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a85ba51d45cfda7b6c355d3ead64b0854a5ce26882a207742fa5e7a2df74fdf259"></a>APT_LOG_MASKING_COMPLETE</em>&#160;</td><td class="fielddoc">
<p>mask private data completely </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a85ba51d45cfda7b6c355d3ead64b0854ad1c214cc78cff037064286ca4028ee80"></a>APT_LOG_MASKING_ENCRYPTED</em>&#160;</td><td class="fielddoc">
<p>encrypt private data </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a1960772f6cdc14057adf178bc17cefd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Mode of log output </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a1960772f6cdc14057adf178bc17cefd7a8b1afdd1c4d2bbbfe1a2154ee99bf028"></a>APT_LOG_OUTPUT_NONE</em>&#160;</td><td class="fielddoc">
<p>disable logging </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a1960772f6cdc14057adf178bc17cefd7ac2deb9ecc9c6488b5202be043c703d7b"></a>APT_LOG_OUTPUT_CONSOLE</em>&#160;</td><td class="fielddoc">
<p>enable console output </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a1960772f6cdc14057adf178bc17cefd7a8bed128764060c4a094def94bc612bc0"></a>APT_LOG_OUTPUT_FILE</em>&#160;</td><td class="fielddoc">
<p>enable log file output </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Priority of log messages ordered from highest priority to lowest (rfc3164) </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecbacbd80276075369600b9d2b901b967edb"></a>APT_PRIO_EMERGENCY</em>&#160;</td><td class="fielddoc">
<p>system is unusable </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba161d157cc47380ccad708194988fbaa1"></a>APT_PRIO_ALERT</em>&#160;</td><td class="fielddoc">
<p>action must be taken immediately </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba54eab6123382358b3dd829ebbec68241"></a>APT_PRIO_CRITICAL</em>&#160;</td><td class="fielddoc">
<p>critical condition </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba1f1f8ef4c767fe4833586e1950d821bd"></a>APT_PRIO_ERROR</em>&#160;</td><td class="fielddoc">
<p>error condition </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba3c45ce780582ad2704df7cd4233ae5fd"></a>APT_PRIO_WARNING</em>&#160;</td><td class="fielddoc">
<p>warning condition </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba1a4fb591858bcdb062f19ab9f84ac819"></a>APT_PRIO_NOTICE</em>&#160;</td><td class="fielddoc">
<p>normal, but significant condition </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba315b5227ef1656ef40074015dca20e74"></a>APT_PRIO_INFO</em>&#160;</td><td class="fielddoc">
<p>informational message </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecba0902ce113637fa851611008c4108a7df"></a>APT_PRIO_DEBUG</em>&#160;</td><td class="fielddoc">
<p>debug-level message </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a08803ac413316890b1a1a3a3546a0ecbaf2d0e3a3cd14a1349c79e86ee5f8deb8"></a>APT_PRIO_COUNT</em>&#160;</td><td class="fielddoc">
<p>number of priorities </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab68a4ff48db1e4c75cbce6f99fb03a70"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void apt_def_log_source_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *&#160;</td>
          <td class="paramname"><em>log_source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the default log source. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">log_source</td><td>the log source to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6a67547b92b97e78367629b2676ba166"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *&#160;</td>
          <td class="paramname"><em>log_source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Do logging. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">log_source</td><td>the log source </td></tr>
    <tr><td class="paramname">file</td><td>the file name log entry is generated from </td></tr>
    <tr><td class="paramname">line</td><td>the line number log entry is generated from </td></tr>
    <tr><td class="paramname">priority</td><td>the priority of the entire log entry </td></tr>
    <tr><td class="paramname">format</td><td>the format of the entire log entry </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aad461219ec54cc4b8c3d7ca40c009925"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* apt_log_data_mask </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>data_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Mask private data based on the masking mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data_in</td><td>the data to mask </td></tr>
    <tr><td class="paramname">length</td><td>the length of the data to mask on input, the length of the masked data on output </td></tr>
    <tr><td class="paramname">pool</td><td>the memory pool to use if needed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The masked data. </dd></dl>

</div>
</div>
<a class="anchor" id="a61b2d0bcf21f71b8ad23f83a788d2b39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_ext_handler_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#aea176175d035c1bc34b27277bfe99f61">apt_log_ext_handler_f</a>&#160;</td>
          <td class="paramname"><em>handler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the extended external log handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handler</td><td>the handler to pass log events to </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>default logger is used to output the logs to stdout and/or log file, if external log handler isn't set </dd></dl>

</div>
</div>
<a class="anchor" id="a15044acbdaa13dda6727acb3a2ad33ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_file_close </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Close the log file. </p>

</div>
</div>
<a class="anchor" id="aec3df0065ee31dbd851cfde7405909fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_file_open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dir_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>max_file_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>max_file_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td>
          <td class="paramname"><em>append</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open the log file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir_path</td><td>the path to the log directory </td></tr>
    <tr><td class="paramname">file_name</td><td>the name of the log file </td></tr>
    <tr><td class="paramname">max_file_size</td><td>the max size of the log file </td></tr>
    <tr><td class="paramname">max_file_count</td><td>the max number of files used in log rotation </td></tr>
    <tr><td class="paramname">append</td><td>whether to append or to truncate (start over) the log file </td></tr>
    <tr><td class="paramname">pool</td><td>the memory pool to use </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae6eca7f5d71328aa13611400c103ba0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_header_set </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>header</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the header (format) for log messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">header</td><td>the header to set (used as bitmask) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae4a24e8dc9b487df7ee2f18a68ec8905"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apt_log_header_translate </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Translate the header string to bitmask of apt_log_header_e values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to translate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9af49c9f345ec4982b40871f6d53734e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_instance_create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create the singleton instance of the logger. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>the log output mode </td></tr>
    <tr><td class="paramname">priority</td><td>the log priority level </td></tr>
    <tr><td class="paramname">pool</td><td>the memory pool to use </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8950f4ae1a8dfbd734a5d865a7a8edcc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_instance_destroy </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroy the singleton instance of the logger. </p>

</div>
</div>
<a class="anchor" id="aff2b9dcccf19774dfd3880721c667f60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a>* apt_log_instance_get </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the singleton instance of the logger. </p>

</div>
</div>
<a class="anchor" id="aac0cbc38c5c8bb54a0942042f69242eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_instance_load </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>config_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create and load the singleton instance of the logger. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config_file</td><td>the path to configuration file to load settings from </td></tr>
    <tr><td class="paramname">pool</td><td>the memory pool to use </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a08ec449d0cf5351ce21936f615bffaf2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_instance_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#aeb15e830a6e412a90bf7ae50b56b0a3e">apt_logger_t</a> *&#160;</td>
          <td class="paramname"><em>logger</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the singleton instance of the logger. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">logger</td><td>the logger to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5864eb2192d24c43aa3915c196091344"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a> apt_log_masking_get </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the current masking mode of private data. </p>

</div>
</div>
<a class="anchor" id="a9f898dd81b328a312bbb53ca241caa73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_masking_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a>&#160;</td>
          <td class="paramname"><em>masking</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the masking mode of private data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">masking</td><td>the masking mode to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6fadf3bd80ccf4539db0e151f1477312"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__log_8h.html#a85ba51d45cfda7b6c355d3ead64b0854">apt_log_masking_e</a> apt_log_masking_translate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Translate the masking mode string to enum. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to translate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5d49fb07a6d22c82089478b41c76785b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_output_mode_check </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check the logging output mode to be enabled (set) or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>the mode to check </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4525b325d9c2e2ba89b12acdbc7a9c66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_output_mode_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a1960772f6cdc14057adf178bc17cefd7">apt_log_output_e</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the logging output mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>the mode to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7c36e4dcc6d962095cf6f66f6739e1e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apt_log_output_mode_translate </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Translate the output mode string to bitmask of apt_log_output_e values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to translate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa8920ce20b1f9f3587dcc6915c8cba11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_priority_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td>
          <td class="paramname"><em>priority</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the logging priority (log level). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">priority</td><td>the priority to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab536c1d8aa5204c27a8c1965d5c1ff9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a> apt_log_priority_translate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Translate the priority (log level) string to enum. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>the string to translate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7c12eaec0833c9a2ca69e760eba61429"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_log_source_assign </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> **&#160;</td>
          <td class="paramname"><em>log_source</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Find and assign log source by its name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the unique name associated to the log source </td></tr>
    <tr><td class="paramname">log_source</td><td>the log source to be returned, if found </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3d13512c51de860d7446b78505df5a01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_obj_log </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *&#160;</td>
          <td class="paramname"><em>log_source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Do logging (this version uses an object externally associated with the logger). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">log_source</td><td>the log source </td></tr>
    <tr><td class="paramname">file</td><td>the file name log entry is generated from </td></tr>
    <tr><td class="paramname">line</td><td>the line number log entry is generated from </td></tr>
    <tr><td class="paramname">priority</td><td>the priority of the entire log entry </td></tr>
    <tr><td class="paramname">obj</td><td>the associated object </td></tr>
    <tr><td class="paramname">format</td><td>the format of the entire log entry </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7510414ff29f75149a0737b95758b49d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> apt_va_log </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> *&#160;</td>
          <td class="paramname"><em>log_source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__log_8h.html#a08803ac413316890b1a1a3a3546a0ecb">apt_log_priority_e</a>&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</td>
          <td class="paramname"><em>arg_ptr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Do logging (this version accepts va_list argument). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">log_source</td><td>the log source </td></tr>
    <tr><td class="paramname">file</td><td>the file name log entry is generated from </td></tr>
    <tr><td class="paramname">line</td><td>the line number log entry is generated from </td></tr>
    <tr><td class="paramname">priority</td><td>the priority of the entire log entry </td></tr>
    <tr><td class="paramname">format</td><td>the format of the entire log entry </td></tr>
    <tr><td class="paramname">arg_ptr</td><td>the arguments </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="abf60ebebb3297cc42fc61945d88285fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__log_8h.html#a5420d1c2ce875d2d921f69cd6bbda0dd">apt_log_source_t</a> def_log_source</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Default (globally available) log source </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2017 10:11:48 for UniMRCP by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
